package org.csu.onlineedubackend.service;

/**
 * 論壇點贊服務介面
 */
public interface ForumLikeService {
    /**
     * 對帖子或評論點贊
     */
    boolean like(Integer userId, Integer postId, Integer commentId);

    /**
     * 取消點贊
     */
    boolean unlike(Integer userId, Integer postId, Integer commentId);

    /**
     * 查詢用戶是否已點贊
     */
    boolean isLiked(Integer userId, Integer postId, Integer commentId);

    /**
     * 查詢某帖子的點贊數
     */
    int getPostLikeCount(Integer postId);

    /**
     * 查詢某評論的點贊數
     */
    int getCommentLikeCount(Integer commentId);

    /**
     * 查詢用戶收到的總點贊數（通過其發布的所有帖子）
     */
    int getUserReceivedLikeCount(Integer userId);

    /**
     * 查詢用戶點贊過的帖子數量
     */
    int getUserGivenLikeCount(Integer userId);

    /**
     * 查詢用戶點贊過的帖子列表
     */
    java.util.List<org.csu.onlineedubackend.dto.ForumLikeDTO> getLikesByUser(Integer userId);
} 